package org.bspv.pharma.message.template;

import java.io.Serializable;
import java.util.Map;

import org.bspv.pharma.common.exception.TechnicalException;

public interface TemplateTechnicalService {

    /**
     * Compilation du template velocity à partir des données
     * @param template le chemin du fichier contenant le template velocity
     * @param dataModel les données en entrée du template
     * @return la chaine de caractères correspondante
     * @throws TechnicalException Erreur lors de la compilation du template
     */
    String generateTextContent(String template, Map<String, Serializable> dataModel) throws TechnicalException;
    
    /**
     * Compilation du template velocity à partir des données
     * @param templateContent la chaine de caractères contenant le template
     * @param dataModel les données en entrée du template
     * @return la chaine de caractères correspondante
     * @throws TechnicalException Erreur lors de la compilation du template
     */
    String generateTextContentFromStringTemplate(String templateContent, Map<String, Serializable> dataModel) throws TechnicalException;
}
